package editorsvg.editor.herramientas;

import java.awt.Cursor;
import java.awt.Graphics2D;
import java.awt.event.MouseEvent;

/**
 * Contrato que cumplen las herramientas del editor.
 * @author Jorge Berjano
 */
public interface Herramienta { 
    boolean moviendo(MouseEvent e);
    boolean pulsado(MouseEvent e);
    boolean dobleClick(MouseEvent e);
    boolean arrastrando(MouseEvent e);
    boolean liberado(MouseEvent e);
    
    /**
     * Permite a la herramienta pintar en coordenadas de pantalla (pixeles).
     */
    void pintarEnPixeles(Graphics2D graphics);
    
    /**
     * Permite a la herramienta pintar en coordenadas de documento (logicas).
     */
//    void pintarEnCoordenadasLogicas(Graphics2D graphics);
    
    Cursor getCursor();
}
